package org.fujay.langchain4jserver.application.command;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Builder;
import lombok.Data;
import org.fujay.langchain4jserver.domain.knowledge.vo.KnowledgeBaseId;
import org.fujay.langchain4jserver.domain.knowledge.vo.StorageStrategy;

/**
 * 添加文件元数据命令 (对应旧的 addFile 方法)
 */
@Data
@Builder
public class AddFileMetadataCommand {

    @NotNull(message = "知识库ID不能为空")
    private KnowledgeBaseId knowledgeBaseId;

    @NotBlank(message = "文件名不能为空")
    private String fileName;

    @NotBlank(message = "文件路径不能为空")
    private String filePath;

    @NotNull(message = "存储策略不能为空")
    private StorageStrategy storageStrategy;
}
